package BUS;

import java.util.HashMap;
import java.util.Map;

public class Utilities {
	private Map<Character, Character> map;

	public Utilities() {
		map = new HashMap<Character, Character>();
		map.put('â', 'a');
		map.put('ă', 'a');
		map.put('á', 'a');
		map.put('à', 'a');
		map.put('ả', 'a');
		map.put('ã', 'a');
		map.put('ạ', 'a');
		map.put('ắ', 'a');
		map.put('ằ', 'a');
		map.put('ẳ', 'a');
		map.put('ẵ', 'a');
		map.put('ặ', 'a');
		map.put('ấ', 'a');
		map.put('ầ', 'a');
		map.put('ẩ', 'a');
		map.put('ẫ', 'a');
		map.put('ậ', 'a');
		map.put('ê', 'e');
		map.put('é', 'e');
		map.put('è', 'e');
		map.put('ẻ', 'e');
		map.put('ẽ', 'e');
		map.put('ẹ', 'e');
		map.put('ế', 'e');
		map.put('ề', 'e');
		map.put('ể', 'e');
		map.put('ễ', 'e');
		map.put('ệ', 'e');
		map.put('í', 'i');
		map.put('ì', 'i');
		map.put('ỉ', 'i');
		map.put('ĩ', 'i');
		map.put('ị', 'i');
		map.put('ó', 'o');
		map.put('ò', 'o');
		map.put('ỏ', 'o');
		map.put('õ', 'o');
		map.put('ọ', 'o');
		map.put('ố', 'o');
		map.put('ồ', 'o');
		map.put('ổ', 'o');
		map.put('ỗ', 'o');
		map.put('ộ', 'o');
		map.put('ớ', 'o');
		map.put('ờ', 'o');
		map.put('ở', 'o');
		map.put('ỡ', 'o');
		map.put('ợ', 'o');
		map.put('ô', 'o');
		map.put('ơ', 'o');
		map.put('ù', 'u');
		map.put('ú', 'u');
		map.put('ủ', 'u');
		map.put('ũ', 'u');
		map.put('ụ', 'u');
		map.put('ư', 'u');
		map.put('ứ', 'u');
		map.put('ử', 'u');
		map.put('ữ', 'u');
		map.put('ự', 'u');
		map.put('ừ', 'u');
		map.put('ý', 'y');
		map.put('ỳ', 'y');
		map.put('ỷ', 'y');
		map.put('ỹ', 'y');
		map.put('ỵ', 'y');
		map.put('đ', 'd');
	}

	public String FormatInputData(String strInput) {
		String strOutput = "";
		String strLowerInput = strInput.toLowerCase();
		strLowerInput = strLowerInput.trim();
		for (int i = 0; i < strLowerInput.length(); i++) {
			Character c = strLowerInput.charAt(i);
			if (map.containsKey(c)) {
				strOutput += map.get(c);
			} else {
				strOutput += c;
			}
		}
		return strOutput;
	}
}
